package com.bd.scm.domain.dto.timeCard;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author yufc
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "考勤封账列表")
public class AccountsViewDto extends BaseRowModel implements Serializable {

    @ApiModelProperty(value = "ID", dataType = "Integer", position = 0, required = false)
    private Long id;

    @ApiModelProperty(value = "员工ID", dataType = "Long", position = 0, required = false)
    private Long userSerial;

    @ExcelProperty(value = {"年月"}, index = 6)
    @ApiModelProperty(value = "年月", dataType = "String", position = 1, required = false, hidden = false)
    private String sealYm;

    @ExcelProperty(value = {"封账状态"}, index = 7)
    @ApiModelProperty(value = "封账状态", dataType = "String", position = 2, required = false, hidden = false)
    private String lockStatusName;

    @ExcelProperty(value = {"考勤状态"}, index = 8)
    @ApiModelProperty(value = "考勤状态", dataType = "String", position = 3, required = false, hidden = false)
    private String attendanceStatusName;

    @ExcelProperty(value = {"应出工时"}, index = 9)
    @ApiModelProperty(value = "应出工时", dataType = "String", position = 4, required = false, hidden = false)
    private String shouldHour;

    @ExcelProperty(value = {"实出工时"}, index = 10)
    @ApiModelProperty(value = "实出工时", dataType = "String", position = 5, required = false, hidden = false)
    private String actualHour;

    @ExcelProperty(value = {"加班时长"}, index = 11)
    @ApiModelProperty(value = "加班时长", dataType = "String", position = 6, required = false, hidden = false)
    private String overtimeHour;

    @ExcelProperty(value = {"放班时长"}, index = 12)
    @ApiModelProperty(value = "放班时长", dataType = "String", position = 7, required = false, hidden = false)
    private String offDutyHour;

    @ExcelProperty(value = {"请假时长"}, index = 13)
    @ApiModelProperty(value = "请假时长", dataType = "String", position = 8, required = false, hidden = false)
    private String leaveHour;

    @ExcelProperty(value = {"迟到时长"}, index = 14)
    @ApiModelProperty(value = "迟到时长", dataType = "String", position = 9, required = false, hidden = false)
    private String lateHour;

    @ExcelProperty(value = {"早退时长"}, index = 15)
    @ApiModelProperty(value = "早退时长", dataType = "String", position = 10, required = false, hidden = false)
    private String earlyHour;

    @ExcelProperty(value = {"迟到次数"}, index = 16)
    @ApiModelProperty(value = "迟到次数", dataType = "String", position = 9, required = false, hidden = false)
    private String lateCount;

    @ExcelProperty(value = {"早退次数"}, index = 17)
    @ApiModelProperty(value = "早退次数", dataType = "String", position = 9, required = false, hidden = false)
    private String earlyCount;

    @ExcelProperty(value = {"缺勤次数"}, index = 18)
    @ApiModelProperty(value = "缺勤次数", dataType = "String", position = 9, required = false, hidden = false)
    private String absentCount;


    @ExcelProperty(value = {"工号"}, index = 0)
    @ApiModelProperty(value = "工号", dataType = "String", position = 11, required = false, hidden = false)
    private String userNo;

    @ExcelProperty(value = {"姓名"}, index = 1)
    @ApiModelProperty(value = "姓名", dataType = "String", position = 12, required = false, hidden = false)
    private String userName;

    @ExcelProperty(value = {"部门"}, index = 2)
    @ApiModelProperty(value = "部门", dataType = "String", position = 13, required = false, hidden = false)
    private String depName;

    @ExcelProperty(value = {"所属公司"}, index = 3)
    @ApiModelProperty(value = "所属公司", dataType = "String", position = 13, required = false, hidden = false)
    private String userCompany;

    @ExcelProperty(value = {"员工类型"}, index = 4)
    @ApiModelProperty(value = "员工类型", dataType = "String", position = 13, required = false, hidden = false)
    private String userType;

    @ExcelProperty(value = {"工作状态"}, index = 5)
    @ApiModelProperty(value = "工作状态", dataType = "String", position = 13, required = false, hidden = false)
    private String userStatus;

    private static final long serialVersionUID = 1L;
}